and
Type
operator
Summary
Allows the construction of compound boolean expressions, which evaluate to true if both operands are true, false otherwise.
Syntax
<leftValue> and <rightValue>
Description
Use the and operator to combine two or more logical values into a compound boolean expression.
If leftValue is false or rightValue is false, or if both leftValue and
rightValue are false, then the and operation evaluates to
false. If leftValue and rightValue are both true, the expression leftValue and rightValue
evaluates to true. In an expression with more
than two operands, there is an implicit grouping of the first pair,
so that the first pair is evaluated first, then subsequent values
are evaluated. If any of the operands evaluates to false,
the entire expression evaluates to false. You can combine
the logical operators and, or, and not
in an expression.
LiveCode uses what is known as "short-circuit evaluation" for
logical operators. This means that leftValue is
evaluated first. If leftValue is false, the expression
leftValue and rightValue
is false regardless of what rightValue is (because the
expression evaluates to false unless both the values are
true). In this case, LiveCode does not evaluate rightValue, since
doing so is not necessary to determine the value of leftValue
or rightValue. For example, evaluating the expression asin(2)
normally
causes an execution error (because 2 is not a legal argument for the
arc sine function), but evaluating the expression
(1 = 0) and (asin(2) = 1)
does not cause an error: since (1 = 0)
is
always false, the whole statement is always false and LiveCode never tries
to evaluate the asin function.
Parameters
Name | Type | Description |
---|---|---|
leftValue | bool | leftValue is true or false, or an expression that evaluates to true or false. |
rightValue | bool | rightValue is true or false, or an expression that evaluates to true or false. |
Examples
put (1 > 0) and (1 = 0)
-- evaluates to false
put (1 > 0) and (1 = 1) and (0 = 0)
-- evaluates to true
local myCount
if the shiftKey is down and myCount > 1 then exit mouseUp
Related
glossary: argument, boolean, evaluate, execution error, expression, function, logical, operand, operation, operator, value
Compatibility and Support
Introduced
LiveCode 1.0
OS
mac
windows
linux
ios
android
web
Platforms
desktop
server
mobile